160 OP=0:LINE INPUT"Output listing to printer (Y)es or (N)o {DEFAULT=Y} ";OP$:IF OP$="" THEN OP$="Y"
170 IF LEFT$(OP$,1)="Y" OR LEFT$(OP$,1)="y" THEN OP=1 ELSE IF LEFT$(OP$,1)="N" OR LEFT$(OP$,1)="n" THEN OP=0 ELSE PRINT"Your input of ";OP$;" was invalid. Please re-enter":GOTO 160
180 LINE INPUT"Use current system Time and Date? Y or N (Default = Y) ";Z1$:IF LEFT$(Z1$,1)="y" OR LEFT$(Z1$,1)="Y" OR Z1$="" THEN TD$=DATE$+" "+TIME$:GOTO 182
181 LINE INPUT"Please enter desired Time and Date for Heading (25 chars Max) ";TD$
182 LINE INPUT "Should printed output use OTHER than Current Settings Y or N (Default=N) ";CP$
183 IF LEFT$(CP$,1)="Y" OR LEFT$(CP$,1)="y" THEN GOSUB 6000
184 PRINT "SHOULD OUTPUT HAVE HIGH-BITS STRIPPED? THIS WILL REMOVE ALL THE"
185 PRINT "STRANGE WORDSTAR DOCUMENT CHARACTERS; BUT WILL ALSO REMOVE THE IBM"
186 LINE INPUT "GRAPHICS CHARACTERS. Please enter (Y)es or (N)o ";SHB$
187 if left$(shb$,1)="Y" or left$(shb$,1)="y" then shb=1 else shb=0
190 LINE INPUT"Maximum number of characters per line (Default is 80) ";MC$:MC=VAL(MC$)
191 IF MC=0 THEN MC=80
192 'WIDTH LPRINT MC 'USED ONLY FOR CP/M VERSIONS OF OBASIC AND MBASIC
194 ' FOR IBM BASICA THE PROPER FORMAT IS 'WIDTH "LPT1:",MC'
196 LINE INPUT "Please enter number of lines per page (Default is 55) ";LL$:LL=VAL(LL$)
198 IF LL=0 THEN LL=55
200 LINE INPUT "Multistatement lines one statement per line (Y)es or (N)o {DEFAULT=Y} ";MS$:IF MS$="" THEN MS$="Y"
210 IF LEFT$(MS$,1)="Y" OR LEFT$(MS$,1)="y" THEN ML=1 ELSE IF LEFT$(MS$,1)="N" OR LEFT$(MS$,1)="n" THEN ML=0 ELSE PRINT"Your input of ";ML$;" was invalid. Please re-enter.":GOTO 200
220 LINE INPUT "Please enter the filename of program to be printed ";F$
230 OL=0
240 LINE INPUT "Output listing to Disk File (Y)es or (N)o {DEFAULT=N} ";OL$:IF OL$="" THEN OL$="N"
250 IF LEFT$(OL$,1)="Y" OR LEFT$(OL$,1)="y" THEN OL=1 ELSE IF LEFT$(OL$,1)="N" OR LEFT$(OL$,1)="n" OR OL$="" THEN 290 ELSE PRINT"Your entry of ";OL$;"was ivalid. Please re-enter."
260 OL=1:LINE INPUT"Please enter filename for disk storage of listing ";FS$
290 LP=0:N=1
296 LINE INPUT "Left Margin Offset for Line Printer? {DEFAULT=1 CAN'T BE 0} ";LM$:LM=VAL(LM$):IF LM<1 THEN LM=1
297 GOSUB 8000
298 IF OL=1 THEN OPEN "O",2,FS$
299 N=1:IF OP=1 THEN LPRINT " "
300 OPEN "I",1,F$
301 LINE INPUT #1,B$
302 IF ASC(B$)=255 THEN CLS:PRINT CHR$(7):PRINT"SORRY, THE FILE YOU SPECIFIED IS NOT IN ASCII FORMAT (IT IS TOKENIZED)":PRINT " ":CLOSE 1:GOTO 110
304 CLOSE 1
305 OPEN "I",1,F$:IF EOF(1) THEN GOTO 297
307 B1$=" );=":A2$=" "
310 CLS:GOSUB 1000 'print title at start of first page
320 IF EOF(1) THEN GOTO 380 'if no more data then quit
330 LINE INPUT #1,B$ 'read file up through next CR/LF
360 GOSUB 2000 'Start extraction of MC Column lines
370 GOTO 320
380 CLS:PRINT"END of File" 'When all has been done, eject page and STOP
385 GOSUB 5000
390 IF OP=1 THEN LPRINT CHR$(12) 'CHR$(12)=Form Feed
400 IF OL=1 THEN PRINT #2,CHR$(12)
405 REM Close all open files
410 CLOSE
415 PRINT CHR$(7):GOTO 297
420 END
1000 ' This subroutine prints Titles, Page Numbers, etc.